java - Selenium 测试运行不会保存 cookie?
全部标签 自从我开始开发测试以来,我一直收到超时错误。起初我认为这与我的xpaths的效率有关,但在多次看到测试快速通过后,我认为这与选择器无关。该错误是随机发生的,并且通常在一个特征中多次发生。我需要修复或至少了解这个问题是什么。步骤定义示例:When/^Inavigateto"(.*)"$/do|webpage|navigate_to(webpage)end这是我得到的错误:Timeout::Error(Timeout::Error)/usr/lib/ruby/1.9.1/net/protocol.rb:146:in`rescueinrbuf_fill'/usr/lib/ruby/1.9.1
Serverspec站点的高级提示部分显示了使用相同测试集测试多个主机的示例。我自己构建了一个示例(https://gist.github.com/neilhwatson/81249ad393800a76a8ad),但存在问题。第一个问题是测试在第一次失败时停止,而不是通过批处理继续进行并保持计数。第二个是故障输出没有指明故障发生在哪个主机上。我该怎么做才能解决这些问题并为所有房东生成最终报告? 最佳答案 对于第一个问题,默认情况下ServerSpec将运行您的所有测试。但是,由于您有一个为每个环境执行Rake任务的循环,因此第一个
我想分析我们代码的测试覆盖率,因此安装了simplecovgem。我们的测试环境有2个独立的项目:RESTAPI测试(Java+Rest-Assured)和WebUI测试(Java-Selenium)。如您所见,我们没有在Rails应用程序内部进行单元测试,我们正在使用外部项目进行测试。我按照教程中的描述配置了simplecovgem,并将其放入rails脚本中:require'simplecov'SimpleCov.start'rails'puts"requiresimplecov"加载应用程序时,我看到了我打印的字符串。我运行了两个自动化测试项目,在rails日志中看到了它们的打印
我有一个包含多个场景的场景大纲。我希望我的BeforeHook只运行一次,这样我就可以引导我需要针对所有场景运行的ActiveRecord对象。问题是如果我使用Beforedo#mycodehereend这将在每个场景之前执行。有没有办法为整个大纲运行一次? 最佳答案 我认为如果您只是在features/support中的文件中创建对象,它们将被持久化:ImportantThing.create(:name=>"USEFULTHING")这是因为在每个ScenarioCucumber之前都会启动一个数据库事务,然后回滚到它之前的状态
我有一个使用Rack::Session::Cookie的Sinatra应用useRack::Session::Cookie,:key=>'my.key',:path=>'/',:expire_after=>3600,#Inseconds:secret=>'something'我在session中有一个地方可以设置数据,我转储了session,大约在erb调用之前有600字节puts"sessionis#{session.inspect}"==>400bytesoftext然后我得到Warning!Rack::Session::Cookiedatasizeexceeds4K.Warnin
这个问题已在stackoverflow和其他论坛上被问过几次,但我似乎无法通过我遇到的这个错误。当我运行capistranoproductiondeploy时,我在部署过程中收到此错误。capproductionbundler:install00:00bundler:install01bundleinstall--path/var/local/blackduck_flock_rails/shared/bundle--withoutdevelopmenttest--deployme…01Anerroroccurredwhileinstallingjson(1.8.6),andBundle
我正在使用原始/裸机sql插入来提高我服务的写入性能。我的模块中有这样的东西-insert="('#{id}','#{status}','#{some_time_val}')"sql_string="INSERTINTOhistory('device_id','status','time')VALUES#{insert}"ActiveRecord::Base.connection.executesql_string当我编写如下所示的rspec时,它会测试除插入是否通过之外的所有内容。因此,由于rspec、database_cleaner等执行回滚和事务的方式,我的期望永远不会奏效。我尝
我是RSpec和TDD的新手,我在编写RSpec测试来测试Devise是否真的在用户注册后发送确认电子邮件时遇到了困难。我知道我的应用程序正在按预期工作,因为我已经对开发和生产中的功能进行了物理测试。但是,我仍然需要为此功能编写RSpec测试,我不知道如何通过RSpec测试发送确认电子邮件。factories/user.rbFactoryGirl.definedofactory:userdoname"JackSparrow"email{Faker::Internet.email}password"helloworld"password_confirmation"helloworld"c
我有Rails3.0.x应用程序。我想在运行时加载gem,而不使用Gemfile。我想要完成的是像往常一样加载我的应用程序,Bundler加载常规gem。之后我想加载位于特定目录中的所有gem(Rails引擎)(但直到运行时,我不知道那是什么gem)。有谁知道这在Rails中是否可行,也许使用BundlerAPI? 最佳答案 您正在尝试做的事情很危险。如果您的每个Rails引擎也是gems-那么它们也会有带有其他依赖项的Gemfiles,而这些又会有其他依赖项,等等。如果您允许Bundler解决这些问题,那么您在运行时的问题就会减少
Heroku可能会出于各种原因向您的应用程序发送SIGTERM,因此我创建了一个处理程序来处理一些清理工作,以防发生这种情况。一些谷歌搜索没有给出任何关于如何在RSpec中测试它的答案或示例。这是基本代码:Signal.trap('TERM')docleanupenddefcleanupputs"doingsomecleanupstuff"...exitend当程序收到SIGTERM时,测试调用此清理方法的最佳方法是什么? 最佳答案 使用Process.kill'TERM',0将信号发送到RSpec并测试调用处理程序。确实,如果信号